package com.apes.framework.jpa.tuple.date;

import org.hibernate.annotations.GenerationTime;
import org.hibernate.annotations.ValueGenerationType;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 当在持久化实体属性上添加该注解，表明让Hibernate在保存或更新该实体时，
 * 自动设置上最近更新时间，不需要用户对该属性进行管理
 *
 * @author xul
 * @create 2018-01-16 20:44
 */
@ValueGenerationType(generatedBy = DateGeneration.class)
@Target({ElementType.FIELD, ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
public @interface DateTime {

    /**
     * 产生时间
     */
    GenerationTime value() default GenerationTime.ALWAYS;
}
